-
Notifications
You must be signed in to change notification settings - Fork 0
feat: implement automated version bumping and PyPI publishing #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add python-semantic-release with patch-only configuration - Create GitHub Actions workflows for PR testing and automated releases - Configure OIDC trusted publishing for PyPI (no API tokens needed) - Update CLAUDE.md with complete automation documentation - All commits now auto-increment patch version (0.1.14 → 0.1.15) - Manual control available for minor/major bumps when needed Resolves #14
- Configure semantic-release to also update README.md version references - Update current README.md version to match current release (0.1.14)
- Mark integration tests with @pytest.mark.integration - Update GitHub Actions to run 'pytest -m "not integration"' - This skips tests that require live authentication to IDTAP server - Unit tests with mocked authentication will still run
- Mark test_trajectory_sequence_patterns, test_duration_and_segmentation, and test_serialization_compatibility as integration tests - These all use SwaraClient() without mocking and pull data from web
- All logout tests trigger auto_login on SwaraClient() initialization - These tests would fail in CI without authentication credentials - Marking as integration tests excludes them from PR workflows
- This test creates SwaraClient() and calls single_query() which requires authentication - Would cause CI to hang at 61% when trying to authenticate to live server
- Add build, twine, and python-semantic-release to workflow installs - These packages are needed for building and publishing to PyPI
- Add continue-on-error to comment step since it's not essential - Everything important works: tests, build, semantic-release, TestPyPI upload - Comment permissions vary based on GitHub token configuration
- Add explicit permissions block to allow PR commenting - Remove continue-on-error since it should now work properly - This allows the workflow to post TestPyPI links as PR comments
|
📦 Test Package Built Successfully! This PR has been automatically built and uploaded to TestPyPI for testing. 🔗 TestPyPI Link: https://test.pypi.org/project/idtap/ To test this version: pip install --index-url https://test.pypi.org/simple/ idtap✅ All tests passed and package builds successfully. |
|
@claude review |
|
Claude finished @jon-myers's task —— View job PR Review: Automated Version Bumping & PyPI PublishingReview Tasks:
GitHub Actions Workflows Analysis ✅
|
|
Claude finished @jon-myers's task —— View job Automated Version Management PR Review ✅This is a well-implemented automated publishing system with excellent attention to security and best practices. The PR successfully addresses issue #14 and provides a robust CI/CD solution. 🔧 Implementation Quality✅ Strong Points:
✅ Workflow Design:
🛠️ Configuration AnalysisSemantic Release Setup (
Test Integration:
🔒 Security AssessmentExcellent security posture:
📝 Documentation QualityThe CLAUDE.md updates are comprehensive and actionable:
|
- Update Python setup action from v4 to v5 (latest version) - Add dependency caching to speed up CI runs by ~30-50% - Add version validation step to ensure __init__.py and pyproject.toml stay in sync - Applied to both test-pr.yml and release.yml workflows
|
📦 Test Package Built Successfully! This PR has been automatically built and uploaded to TestPyPI for testing. 🔗 TestPyPI Link: https://test.pypi.org/project/idtap/ To test this version: pip install --index-url https://test.pypi.org/simple/ idtap✅ All tests passed and package builds successfully. |
Summary
Implements automated version bumping and PyPI publishing to resolve issue #14.
🚀 New Features
🔧 Implementation Details
__init__.py,pyproject.toml,docs/conf.py📋 Required Setup (One-time)
🎛️ Manual Version Control
When you want special version bumps:
Test Plan
Closes #14
🤖 Generated with Claude Code